<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Scroll Animation</title>
</head>
<style>
    * {
        box-sizing: border-box;
    }

    body {
        background-color: #efedd6;
        font-family: 'Roboto', sans-serif;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0;
        overflow-x: hidden;
    }

    h1 {
        margin: 10px;
    }

    .box {
        background-color: steelblue;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 400px;
        height: 200px;
        margin: 10px;
        border-radius: 10px;
        box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.3);
        transform: translateX(400%);
        transition: transform .7s ease;
    }

    .box:nth-of-type(even) {
        transform: translateX(-400%);
    }

    .box.show {
        transform: translateX(0);
    }

    .box h2 {
        font-size: 45px;
    }

    ::selection {
        background-color: #EFEDD6;
        color: white;
    }
</style>

<body>
    <h1>Scroll to see the animation</h1>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
    <div class="box">
        <h2>Content</h2>
    </div>
</body>
<script>
    const boxes = document.querySelectorAll('.box')
    window.addEventListener('scroll', checkBoxes)
    checkBoxes()

    function checkBoxes() {
        const triggerBottom = window.innerHeight / 50
        boxes.forEach(box => {
            const boxTop = box.getBoundingClientRect().top
            console.log(box.offsetTop, box.getBoundingClientRect().top);
            if (boxTop < triggerBottom) {
                box.classList.remove('show')
            } else {
                box.classList.add('show')

            }
        })
    }
</script>



</html>